package com.AdvancedDemos.继承.模板设计模式案例2;

abstract public class HouseTemplate {
    protected String houseName;

    protected HouseTemplate(String houseName) {
        this.houseName = houseName;
    }

    public String getHouseName() {
        return houseName;
    }

    public void setHouseName(String houseName) {
        this.houseName = houseName;
    }


    protected final void startBuildMyHouse() {

        buildBase();
        buildWall();
        buildDoor();
        buildWindows();

    }

    protected abstract void buildWall();

    protected abstract void buildBase();

    protected abstract void buildDoor();

    protected abstract void buildWindows();

}